// 引用文件
// import Vue from 'vue'                                  // 注释cdn加载
// import Element from 'element-ui'                       // 注释cdn加载
// import './styles/element-variables.scss'               // 注释cdn加载
// import enLang from 'element-ui/lib/locale/lang/en'     // 如果使用中文语言包请默认支持，无需额外引入，请删除该依赖
import Cookies from 'js-cookie'                           // cookie工具
import VueI18n from 'vue-i18n'                            // 语言包插件
import 'normalize.css/normalize.css'                      // CSS重置的现代替代方案
import '@/styles/index.scss'                              // 全局css
import App from './App'
import store from './store'
import router from './router'                             // 路由
import './permission'                                     // 权限控制
import './utils/error-log'                                // 错误日志
import * as filters from './filters'                      // 全局筛选器
import './assets/fonts/iconfont.css'                      // 字体css
import VueQuillEditor from 'vue-quill-editor'             // 引用elelemtUI的富文本编辑器20230801
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'


// 全局配置点击dialog外部,弹窗不关闭
ELEMENT.Dialog.props.closeOnClickModal.default = false;
Vue.prototype.$axios = filters;

/**
 * If you don't want to use mock-server
 * you want to use MockJs for mock api
 * you can execute: mockXHR()
 *
 * Currently MockJs will be used in the production environment,
 * please remove it before going online ! ! !
 */
if (process.env.NODE_ENV === 'production') {
  const { mockXHR } = require('../mock');
  mockXHR();
}

// Vue.use(Element, {
//   size: Cookies.get('size') || 'medium', // 设置元素ui默认大小
// })

Vue.use(VueQuillEditor);
Vue.use(VueI18n);

// 引用百度地图
Vue.prototype.BMap = BMap
Vue.prototype.BMAP_STATUS_SUCCESS = BMAP_STATUS_SUCCESS

// 注册全局实用程序筛选器
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key]);
})

Vue.config.productionTip = false;

// 注册语言包
const i18n = new VueI18n({
  lazy: true,
  locale: localStorage.getItem('language') || 'zh_CN', // 设置语种
  messages: {
    'zh_CN': require('../src/languages/zh_CN.js'),  // 本地资源文件，我这里配2个语言，中文&英文，src下根据个人情况放置
    'en_US': require('../src/languages/en_US.js')
  },
  // // 隐藏警告
  // silentTranslationWarn: true
});

new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
